\hypertarget{classCVector2}{
\section{Référence de la classe CVector2$<$ T $>$ (modèle)}
\label{classCVector2}\index{CVector2@{CVector2}}
}
{\tt \#include $<$CVector2.hpp$>$}

\subsection*{Fonctions membres publiques}
\begin{CompactItemize}
\item 
\hyperlink{classCVector2_25313de2a839679fe62282c35f15d5f8}{CVector2} ()
\item 
\hyperlink{classCVector2_6e14105211482dc66f9cb5cc3ae1561c}{CVector2} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&Copy)
\item 
\hyperlink{classCVector2_ca8bd9f2812a5880dad1320b7a0fc6ff}{CVector2} (const T \&vX, const T \&vY)
\item 
\hyperlink{classCVector2_b5392e3374d99a0f574dce36967605f8}{CVector2} (const T \&Value)
\item 
T \hyperlink{classCVector2_b6b7aaddd96c2a3bbb47daaab1fb7ef2}{GetModulus} () const 
\item 
T \hyperlink{classCVector2_44a70eb4da431c74c813e86298e580ee}{GetSquaredModulus} () const 
\item 
void \hyperlink{classCVector2_df5870d345b064343d0f3fd249c1af0c}{Normalize} ()
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_189caf5c2ae8301e53cd45aa13786158}{GetNormalized} () const 
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_f1bce3115171d4339dd01869507123b0}{operator=} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V2)
\item 
T \hyperlink{classCVector2_bbab39aa64ac6745169fecb00afab745}{operator\mbox{[}$\,$\mbox{]}} (const uint i)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_0c88135bcc5765b5b9c51a94288a6678}{operator+} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V2)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_9e00d607efdc27b433b5500798a5f42c}{operator+=} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V2)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_f08b687ba5a89b6e1e3629aa45372ad5}{operator-} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V2)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_18ded90e51b0c350ab78e8b4315d8dc9}{operator-=} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V2)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_b73a38dc9707f72f9846dfa30a80f14e}{operator$\ast$} (const T Scalar)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_02d5706206b31f45721bb144416347f3}{operator$\ast$=} (const T Scalar)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_89249e791cb4edb7ebf110f78ce590de}{operator/} (const T Scalar)
\item 
\hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_692f6a9a9c3257be5277844cfad4eccd}{operator/=} (const T Scalar)
\end{CompactItemize}
\subsection*{Fonctions membres publiques statiques}
\begin{CompactItemize}
\item 
static T \hyperlink{classCVector2_a744c9c8839ce90dff90df3c5783cadb}{Dot} (const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V1, const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \&V2)
\end{CompactItemize}
\subsection*{Attributs publics}
\begin{CompactItemize}
\item 
T \hyperlink{classCVector2_8af35f00b4fe14bc4a38f6307815b345}{X}
\item 
T \hyperlink{classCVector2_ce81ef6e58dfbc8bfc6a8a65a80d6b43}{Y}
\end{CompactItemize}
\subsection*{Attributs publics statiques}
\begin{CompactItemize}
\item 
static const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_b172de535c6851c64fbf3355a8ee3d81}{Zero}
\item 
static const \hyperlink{classCVector2}{CVector2}$<$ T $>$ \hyperlink{classCVector2_8a1b86cf6dea2364928ccf7c11496903}{One}
\end{CompactItemize}


\subsection{Description détaillée}
\subsubsection*{template$<$typename T = double$>$ class CVector2$<$ T $>$}

Classe \hyperlink{classCVector2}{CVector2} : Gère les vecteurs à 2 dimensions dans un repère MAIN DROITE. \begin{Desc}
\item[Auteur:]Maxime Gaudin \end{Desc}


\subsection{Documentation des constructeurs et destructeur}
\hypertarget{classCVector2_25313de2a839679fe62282c35f15d5f8}{
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\subsubsection[{CVector2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$ T $>$::{\bf CVector2} ()}}
\label{classCVector2_25313de2a839679fe62282c35f15d5f8}


Constructeur de \hyperlink{classCVector2}{CVector2} non initialisé X = Y = 0. \hypertarget{classCVector2_6e14105211482dc66f9cb5cc3ae1561c}{
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\subsubsection[{CVector2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$ T $>$::{\bf CVector2} (const {\bf CVector2}$<$ T $>$ \& {\em Copy})}}
\label{classCVector2_6e14105211482dc66f9cb5cc3ae1561c}


Constructeur de copie de \hyperlink{classCVector2}{CVector2} \hypertarget{classCVector2_ca8bd9f2812a5880dad1320b7a0fc6ff}{
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\subsubsection[{CVector2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$ T $>$::{\bf CVector2} (const T \& {\em vX}, \/  const T \& {\em vY})}}
\label{classCVector2_ca8bd9f2812a5880dad1320b7a0fc6ff}


Constructeur de \hyperlink{classCVector2}{CVector2} initialisé \begin{Desc}
\item[Paramètres:]
\begin{description}
\item[{\em vX}]= Valeur X du vecteur. \item[{\em vY}]= Valeur Y du vecteur. \end{description}
\end{Desc}
\hypertarget{classCVector2_b5392e3374d99a0f574dce36967605f8}{
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\index{CVector2@{CVector2}!CVector2@{CVector2}}
\subsubsection[{CVector2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$ T $>$::{\bf CVector2} (const T \& {\em Value})}}
\label{classCVector2_b5392e3374d99a0f574dce36967605f8}


Constructeur de \hyperlink{classCVector2}{CVector2} initialisé \begin{Desc}
\item[Paramètres:]
\begin{description}
\item[{\em Value}]: X = Y = Z = Value. \end{description}
\end{Desc}


\subsection{Documentation des fonctions membres}
\hypertarget{classCVector2_a744c9c8839ce90dff90df3c5783cadb}{
\index{CVector2@{CVector2}!Dot@{Dot}}
\index{Dot@{Dot}!CVector2@{CVector2}}
\subsubsection[{Dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ static T {\bf CVector2}$<$ T $>$::Dot (const {\bf CVector2}$<$ T $>$ \& {\em V1}, \/  const {\bf CVector2}$<$ T $>$ \& {\em V2})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{classCVector2_a744c9c8839ce90dff90df3c5783cadb}


Fonction statique Dot : C'est le produit scalaire usuel. \begin{Desc}
\item[Renvoie:]Renvoi le produit scalaire de V1 et V2, c'est à dire la somme du produit des composantes de V1 et V2. \end{Desc}
\hypertarget{classCVector2_b6b7aaddd96c2a3bbb47daaab1fb7ef2}{
\index{CVector2@{CVector2}!GetModulus@{GetModulus}}
\index{GetModulus@{GetModulus}!CVector2@{CVector2}}
\subsubsection[{GetModulus}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ T {\bf CVector2}$<$ T $>$::GetModulus () const}}
\label{classCVector2_b6b7aaddd96c2a3bbb47daaab1fb7ef2}


Renvoi la norme du vecteur : La norme est calculé comme la racine carré de la somme des carrés de ses composantes. \hypertarget{classCVector2_189caf5c2ae8301e53cd45aa13786158}{
\index{CVector2@{CVector2}!GetNormalized@{GetNormalized}}
\index{GetNormalized@{GetNormalized}!CVector2@{CVector2}}
\subsubsection[{GetNormalized}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::GetNormalized () const}}
\label{classCVector2_189caf5c2ae8301e53cd45aa13786158}


Renvoi le vecteur normalisé. \hypertarget{classCVector2_44a70eb4da431c74c813e86298e580ee}{
\index{CVector2@{CVector2}!GetSquaredModulus@{GetSquaredModulus}}
\index{GetSquaredModulus@{GetSquaredModulus}!CVector2@{CVector2}}
\subsubsection[{GetSquaredModulus}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ T {\bf CVector2}$<$ T $>$::GetSquaredModulus () const}}
\label{classCVector2_44a70eb4da431c74c813e86298e580ee}


Renvoi la norme au carré : La norme au carré est calculé comme la somme des carrés de ses composantes. Calculer le carré de la norme est plus économique en terme de calculs. \hypertarget{classCVector2_df5870d345b064343d0f3fd249c1af0c}{
\index{CVector2@{CVector2}!Normalize@{Normalize}}
\index{Normalize@{Normalize}!CVector2@{CVector2}}
\subsubsection[{Normalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ void {\bf CVector2}$<$ T $>$::Normalize ()}}
\label{classCVector2_df5870d345b064343d0f3fd249c1af0c}


Normalise le vecteur : Divise chaque coordonnée par la norme du vecteur. \hypertarget{classCVector2_b73a38dc9707f72f9846dfa30a80f14e}{
\index{CVector2@{CVector2}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!CVector2@{CVector2}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator$\ast$ (const T {\em Scalar})}}
\label{classCVector2_b73a38dc9707f72f9846dfa30a80f14e}


Opérateur $\ast$ : Multiplie membre à membre un \hyperlink{classCVector2}{CVector2} par un scalaire \hypertarget{classCVector2_02d5706206b31f45721bb144416347f3}{
\index{CVector2@{CVector2}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!CVector2@{CVector2}}
\subsubsection[{operator$\ast$=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator$\ast$= (const T {\em Scalar})}}
\label{classCVector2_02d5706206b31f45721bb144416347f3}


Opérateur $\ast$= : Multiplie membre à membre un \hyperlink{classCVector2}{CVector2} par un scalaire \hypertarget{classCVector2_0c88135bcc5765b5b9c51a94288a6678}{
\index{CVector2@{CVector2}!operator+@{operator+}}
\index{operator+@{operator+}!CVector2@{CVector2}}
\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator+ (const {\bf CVector2}$<$ T $>$ \& {\em V2})}}
\label{classCVector2_0c88135bcc5765b5b9c51a94288a6678}


Opérateur + : Ajoute membre à membre deux \hyperlink{classCVector2}{CVector2} \hypertarget{classCVector2_9e00d607efdc27b433b5500798a5f42c}{
\index{CVector2@{CVector2}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!CVector2@{CVector2}}
\subsubsection[{operator+=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator+= (const {\bf CVector2}$<$ T $>$ \& {\em V2})}}
\label{classCVector2_9e00d607efdc27b433b5500798a5f42c}


Opérateur += : Ajoute membre à membre deux \hyperlink{classCVector2}{CVector2} \hypertarget{classCVector2_f08b687ba5a89b6e1e3629aa45372ad5}{
\index{CVector2@{CVector2}!operator-@{operator-}}
\index{operator-@{operator-}!CVector2@{CVector2}}
\subsubsection[{operator-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator- (const {\bf CVector2}$<$ T $>$ \& {\em V2})}}
\label{classCVector2_f08b687ba5a89b6e1e3629aa45372ad5}


Opérateur - : Soustrait membre à membre deux \hyperlink{classCVector2}{CVector2} \hypertarget{classCVector2_18ded90e51b0c350ab78e8b4315d8dc9}{
\index{CVector2@{CVector2}!operator-=@{operator-=}}
\index{operator-=@{operator-=}!CVector2@{CVector2}}
\subsubsection[{operator-=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator-= (const {\bf CVector2}$<$ T $>$ \& {\em V2})}}
\label{classCVector2_18ded90e51b0c350ab78e8b4315d8dc9}


Opérateur -= : Soustrait membre à membre deux \hyperlink{classCVector2}{CVector2} \hypertarget{classCVector2_89249e791cb4edb7ebf110f78ce590de}{
\index{CVector2@{CVector2}!operator/@{operator/}}
\index{operator/@{operator/}!CVector2@{CVector2}}
\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator/ (const T {\em Scalar})}}
\label{classCVector2_89249e791cb4edb7ebf110f78ce590de}


Opérateur / : Divise membre à membre un \hyperlink{classCVector2}{CVector2} par un scalaire \hypertarget{classCVector2_692f6a9a9c3257be5277844cfad4eccd}{
\index{CVector2@{CVector2}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!CVector2@{CVector2}}
\subsubsection[{operator/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator/= (const T {\em Scalar})}}
\label{classCVector2_692f6a9a9c3257be5277844cfad4eccd}


Opérateur /= : Divise membre à membre un \hyperlink{classCVector2}{CVector2} par un scalaire \hypertarget{classCVector2_f1bce3115171d4339dd01869507123b0}{
\index{CVector2@{CVector2}!operator=@{operator=}}
\index{operator=@{operator=}!CVector2@{CVector2}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::operator= (const {\bf CVector2}$<$ T $>$ \& {\em V2})}}
\label{classCVector2_f1bce3115171d4339dd01869507123b0}


Opérateur = : Opérateur d'affectation \hypertarget{classCVector2_bbab39aa64ac6745169fecb00afab745}{
\index{CVector2@{CVector2}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!CVector2@{CVector2}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ T {\bf CVector2}$<$ T $>$::operator\mbox{[}$\,$\mbox{]} (const uint {\em i})}}
\label{classCVector2_bbab39aa64ac6745169fecb00afab745}


Opérateur \mbox{[}\mbox{]} : \mbox{[}0\mbox{]} = X, \mbox{[}1\mbox{]} = Y 

\subsection{Documentation des données membres}
\hypertarget{classCVector2_8a1b86cf6dea2364928ccf7c11496903}{
\index{CVector2@{CVector2}!One@{One}}
\index{One@{One}!CVector2@{CVector2}}
\subsubsection[{One}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ const {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::{\bf One}\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{classCVector2_8a1b86cf6dea2364928ccf7c11496903}


Vecteur unitaire : Vecteur dont toutes les composantes sont à 1. \hypertarget{classCVector2_8af35f00b4fe14bc4a38f6307815b345}{
\index{CVector2@{CVector2}!X@{X}}
\index{X@{X}!CVector2@{CVector2}}
\subsubsection[{X}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ T {\bf CVector2}$<$ T $>$::{\bf X}}}
\label{classCVector2_8af35f00b4fe14bc4a38f6307815b345}


Attribut X : Composante X du vecteur. \hypertarget{classCVector2_ce81ef6e58dfbc8bfc6a8a65a80d6b43}{
\index{CVector2@{CVector2}!Y@{Y}}
\index{Y@{Y}!CVector2@{CVector2}}
\subsubsection[{Y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ T {\bf CVector2}$<$ T $>$::{\bf Y}}}
\label{classCVector2_ce81ef6e58dfbc8bfc6a8a65a80d6b43}


Attribut Y : Composante Y du vecteur. \hypertarget{classCVector2_b172de535c6851c64fbf3355a8ee3d81}{
\index{CVector2@{CVector2}!Zero@{Zero}}
\index{Zero@{Zero}!CVector2@{CVector2}}
\subsubsection[{Zero}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T = double$>$ const {\bf CVector2}$<$T$>$ {\bf CVector2}$<$ T $>$::{\bf Zero}\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{classCVector2_b172de535c6851c64fbf3355a8ee3d81}


Vecteur nulle : Vecteur dont toutes composantes sont à Zero. 

La documentation de cette classe a été générée à partir du fichier suivant :\begin{CompactItemize}
\item 
/home/digitalguru/IFOnlyRT\$/IFOnlyRT/Basics/CVector2.hpp\end{CompactItemize}
